/**
 * 数据类型的转换
 *      数值型的数据类型，不同的大小范围，可以根据数据类型的存储能力，进行排序
 *      byte < short < int < long < float < double
 *
 *      隐式转换：不需要程序员手动进行转换，Java帮我们实现了数据类型的转换
 *               从小的数据类型 向 大的数据类型 的转换，向上看齐
 *
 *      显式转换：需要程序员手动转换，容易造成数据的溢出
 *               从大的数据类型 向 小的数据类型 的转换
 *               语法：要转换的类型 变量名 = （要转换的类型） 变量；
 *
 *      java 中基本数据类型对应的包装类：
 *          byte -->  Byte
 *          short --> Short
 *          int --> Integer
 *          long --> Long
 *          float --> Float
 *          double --> Double
 *              总结：toString() 将数据类型转为String
 *                   xxxValue() 拆箱，将对象中的值取出来
 *                   parseXXX() 可以实现数据类型的转换，参数要符合规定，必须是字符型的数字
 *                              否则会抛异常 NumberFormatException
 *         char --> Character
 *         boolean --> Boolean
 *
 */
public class Demo06 {

    /**
     * 数据类型的转换
     * @param args
     */
    public static void main(String[] args) {

        //基本类型的转换：
        //隐式转换
        int a = 10;
        long b = a;

        //显式转换
        double c = 10;
        //从显式转换 到 隐式转换
        int d = (short) c;

        /*
            包装类提供了一些数据类型转换的方法：
                各种包装类都有一个toString() : 包装类对应的数据类型 与 String 之间的转换
         */
        Byte byte1 = 10;
        byte num = byte1.byteValue();
        String numStr = byte1.toString();
        System.out.println(numStr);
        byte ac = Byte.parseByte("100");

        //声明了一个对象
        Integer int1 = new Integer(10);
        //取值
        int num1 = int1.intValue();
        int num2 = Integer.parseInt("abc");
        System.out.println(num2);

        Long long1 = new Long(10);
        long1.longValue();
        Long.parseLong("");

    }
}
